package com.tansun.easycare.rule.approval.entity;

import java.util.Date;

import org.hibernate.validator.constraints.Length;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tansun.easycare.core.persistence.DataEntity;

/**
 * 单表生成Entity
 * @author @
 * @version 2019-11-20
 */
public class RulePublishApproval extends DataEntity<RulePublishApproval> {
	
	private static final long serialVersionUID = 1L;
	private String ruleFlowName;		// 决策流名称
	private String ruleUpdateUserId;		// 规则修改人员ID
	private String ruleUpdateUserName;		// 规则修改人员名称
	private Date rulePublishDate;		// 规则发布日期
	private Date ruleUpdateDate;		// 规则修改日期
	private String ruleUpdateDetail;		// 规则修改明细
	private String processInstancesId;		// 流程实例id
	private String ruleRemark;		// 备注
	private String ruleApprovalResult;		// 审批结论
	private String projectCode;    //项目编号 扩展
	public RulePublishApproval() {
		super();
	}

	public RulePublishApproval(String id){
		super(id);
	}

	@Length(min=0, max=128, message="决策流名称长度必须介于 0 和 128 之间")
	public String getRuleFlowName() {
		return ruleFlowName;
	}

	public void setRuleFlowName(String ruleFlowName) {
		this.ruleFlowName = ruleFlowName;
	}
	
	@Length(min=0, max=128, message="规则修改人员ID长度必须介于 0 和 128 之间")
	public String getRuleUpdateUserId() {
		return ruleUpdateUserId;
	}

	public void setRuleUpdateUserId(String ruleUpdateUserId) {
		this.ruleUpdateUserId = ruleUpdateUserId;
	}
	
	@Length(min=0, max=128, message="规则修改人员名称长度必须介于 0 和 128 之间")
	public String getRuleUpdateUserName() {
		return ruleUpdateUserName;
	}

	public void setRuleUpdateUserName(String ruleUpdateUserName) {
		this.ruleUpdateUserName = ruleUpdateUserName;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getRulePublishDate() {
		return rulePublishDate;
	}

	public void setRulePublishDate(Date rulePublishDate) {
		this.rulePublishDate = rulePublishDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getRuleUpdateDate() {
		return ruleUpdateDate;
	}

	public void setRuleUpdateDate(Date ruleUpdateDate) {
		this.ruleUpdateDate = ruleUpdateDate;
	}
	
	@Length(min=0, max=1024, message="规则修改明细长度必须介于 0 和 1024 之间")
	public String getRuleUpdateDetail() {
		return ruleUpdateDetail;
	}

	public void setRuleUpdateDetail(String ruleUpdateDetail) {
		this.ruleUpdateDetail = ruleUpdateDetail;
	}
	
	@Length(min=0, max=256, message="流程实例id长度必须介于 0 和 256 之间")
	public String getProcessInstancesId() {
		return processInstancesId;
	}

	public void setProcessInstancesId(String processInstancesId) {
		this.processInstancesId = processInstancesId;
	}
	
	@Length(min=0, max=255, message="备注长度必须介于 0 和 255 之间")
	public String getRuleRemark() {
		return ruleRemark;
	}

	public void setRuleRemark(String ruleRemark) {
		this.ruleRemark = ruleRemark;
	}
	
	@Length(min=0, max=255, message="审批结论长度必须介于 0 和 255 之间")
	public String getRuleApprovalResult() {
		return ruleApprovalResult;
	}

	public void setRuleApprovalResult(String ruleApprovalResult) {
		this.ruleApprovalResult = ruleApprovalResult;
	}

	public String getProjectCode() {
		return projectCode;
	}

	public void setProjectCode(String projectCode) {
		this.projectCode = projectCode;
	}
	
}